package cc.higou.service;

import cc.higou.core.pojo.Color;
import cc.higou.core.pojo.Product;
import cc.higou.core.pojo.SuperPojo;
import cc.higou.core.tools.PageHelper;
import org.apache.solr.client.solrj.SolrServerException;

import java.io.IOException;
import java.util.List;

/**
 * 说明：
 * 商品信息的业务层
 *
 * @author:dongxing
 * @time:--
 */

public interface ProductService {

    /**
     * 依据条件查询所有商品的方法
     *
     * @param product
     * @return
     */
    public PageHelper.Page<Product> findByExample(Product product, Integer pageNum, Integer pageSize);


    /**
     * 查询所有颜色的方法
     *
     * @return
     */
    public List<Color> findEnableColors();


    /**
     * 删除商品的方法
     *
     * @param id
     */
    public void deleteById(String id);


    /**
     * 保存商品的方法
     *
     * @param product
     */
    public void add(Product product);


    /**
     * 上下架商品
     *
     * @param product
     */
    public void update(Product product,String ids) throws IOException, SolrServerException;


    /**
     * 通过id查询商品的信息
     *
     * @param id
     * @return
     */
    public Product findProductById(Long id);


    /**
     * 依据商品的id查询相关的商品
     * @param productId
     * @return
     */
    public List<SuperPojo> findByProductId(Long productId);


}
